home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
201-220
/
scopedisk214
/
rtap
/
rtap.doc
< prev
next >
Wrap
Text File
|
1995-03-19
|
4KB
|
88 lines
RTAP 1.0
A Real Time Anim Player
© 1991 Sebastiano Vigna
RTAP is a very simple ANIM 5 player. It should work with any animation file,
as long as it is a correct ANIM 5 FORM (what can "correct" mean for a mess
like the ANIM specs, I leave you to imagine). It has some very simple
parameters, like the relative timing of the frames and the number of times a
"loopable" animation should be played. RTAP works under both AmigaDOS 1.3
and 2.0.
Why "Real Time"? Well, the main property of RTAP (and its reason of
existence) is that it doesn't need the animation to be in RAM in order to
play it. It simply needs two buffer as large as the largest BODY/DLTA chunk
in the ANIM, and that's all. The animation will be loaded while playing it.
Don't expect to see perfectly smooth 16-colors hi-res overscan filled-with-
moving-stuff anims to go smoothly at 30 fps, but on a A3000 25/100 you could
be pleasantly surprised.
RTAP does its best in order to use all the concurrency of the Amiga system,
i.e., the Copper, the blitter, the 68000 and possibly the DMA of the device
which contains the ANIM file work together to put the ANIM on the screen.
Some compromises had to be done. For instance, RTAP will (gently and
intelligently) poke into copperlists. The overhead for a LoadRGB4() each
frame is absolutely unacceptable. I hope my implementation will survive to
future versions of the OS.
The syntax of the command is:
RTAP <anim file> [BUFFER <buffer size in K>] [TIMES <number of loops>]
[RELTIME <relative timing in video frames>]
[PRIORITY <decomp task priority>]
The anim file is of course the file you want to see.
BUFFER lets you choose a size for the buffer used while loading the ANIM. If
you choose a buffer big enough to load the entire animation, you get
something like a normal ANIM player (the "like" is due to the fact that the
animation will be anyway probably loaded in two steps, and during the second
one the first part of the animation will be displayed).
TIMES lets you see an ANIM many times. Note that not all ANIMs are
loopable---the two last frames have to be equal to the first two ones.
RELTIME sets the number of video frames which has to pass between each ANIM
frame (if RTAP can keep up, of course). Consider that PAL is 50Hz, NTSC is
60Hz. So RELTIME 5 is 10fps (frames per second) in PAL but it's 12fps in
NTSC. If no RELTIME is specified (or if you specify RELTIME 0) the timing
data contained in the ANIM will be used. Note that the reltime field of the
AnimHeader struct is specified in 1/60s, so on a PAL machine an animation
will be slower (5/6 of the original speed).
PRIORITY sets the priority of the tasks spawned by RTAP (one for the
decompression and one for I/O). Usually they are at priority 10 and 9,
respectively. This value should be carefully chosen depending on the device
you are using. The decompression task will get the priority you specify, the
I/O task will get the same priority minus one. Usually the best thing is a
number equal (±1) to the priority of the task which manages the device. For
instance, I find 4 is good for floppies (5 causes *horrible* noises). Also,
if you're reading from floppies you should always use FFS and something like
30 RAM buffers.
The code for the ANIM 5 decompression is the public domain code by Jim Kent,
slightly modified in order to make it work with the SAS Assembler.
This work has been partially supported by DigiMail s.r.l., Milano, Italy.
This software is provided "AS IS" without warranty of any kind, either
expressed or implied. By using RTAP, you agree to accept the entire risk as
to the quality and performance of the program. RTAP is © 1991 Sebastiano
Vigna and it's freely distributable as long as all of its files are included
in their original form without additions, deletions, or modifications of any
kind, and only a nominal fee is charged for its distribution.
Sebastiano Vigna
BIX: svigna
UUCP:...{uunet|piramid|rutgers}!cbmvax!cbmehq!cbmita!sebamiga!seba
Via Valparaiso 18
I-20144 Milano MI